Constant System Variables
The following system variables contain predefined constants or values for use by IDL routines. System variables can be used just like other variables. For example, the command:
PRINT, ACOS(A) * !RADEG
converts a result expressed in radians to one expressed in degrees.
!COLOR
A read-only structure variable that allows you to retrieve color values [red, green, blue] by providing one of the color name strings listed in the table below.
PRINT, !COLOR.burlywood
The following table lists !COLOR names and values (these are essentially the same as those in W3C’s list of web colors):
Color Name |
Hex Value |
Decimal Value |
alice_blue |
#F0F8FF |
240,248,255 |
antique_white |
#FAEBD7 |
250,235,215 |
aqua |
#00FFFF |
0,255,255 |
aquamarine |
#7FFFD4 |
127,255,212 |
azure |
#F0FFFF |
240,255,255 |
beige |
#F5F5DC |
245,245,220 |
bisque |
#FFE4C4 |
255,228,196 |
black |
#000000 |
0,0,0 |
blanched_almond |
#FFEBCD |
255,235,205 |
blue |
#0000FF |
0,0,255 |
blue_violet |
#8A2BE2 |
138,43,226 |
brown |
#A52A2A |
165,42,42 |
burlywood |
#DEB887 |
222,184,135 |
cadet_blue |
#5F9EA0 |
95,158,160 |
chartreuse |
#7FFF00 |
127,255,0 |
chocolate |
#D2691E |
210,105,30 |
coral |
#FF7F50 |
255,127,80 |
cornflower |
#6495ED |
100,149,237 |
cornsilk |
#FFF8DC |
255,248,220 |
crimson |
#DC143C |
220,20,60 |
cyan |
#00FFFF |
0,255,255 |
dark_blue |
#00008B |
0,0,139 |
dark_cyan |
#008B8B |
0,139,139 |
dark_goldenrod |
#B8860B |
184,134,11 |
dark_gray |
#A9A9A9 |
169,169,169 |
dark_grey |
#A9A9A9 |
169,169,169 |
dark_green |
#006400 |
0,100,0 |
dark_khaki |
#BDB76B |
189,183,107 |
dark_magenta |
#8B008B |
139,0,139 |
dark_olive_green |
#556B2F |
85,107,47 |
dark_orange |
#FF8C00 |
255,140,0 |
dark_orchid |
#9932CC |
153,50,204 |
dark_red |
#8B0000 |
139,0,0 |
dark_salmon |
#E9967A |
233,150,122 |
dark_sea_green |
#8FBC8F |
143,188,143 |
dark_slate_blue |
#483D8B |
72,61,139 |
dark_slate_gray |
#2F4F4F |
47,79,79 |
dark_slate_grey |
#2F4F4F |
47,79,79 |
dark_turquoise |
#00CED1 |
0,206,209 |
dark_violet |
#9400D3 |
148,0,211 |
deep_pink |
#FF1493 |
255,20,147 |
deep_sky_blue |
#00BFFF |
0,191,255 |
dim_gray |
#696969 |
105,105,105 |
dim_grey |
#696969 |
105,105,105 |
dodger_blue |
#1E90FF |
30,144,255 |
firebrick |
#B22222 |
178,34,34 |
floral_white |
#FFFAF0 |
255,250,240 |
forest_green |
#228B22 |
34,139,34 |
fuchsia |
#FF00FF |
255,0,255 |
gainsboro |
#DCDCDC |
220,220,220 |
ghost_white |
#F8F8FF |
248,248,255 |
gold |
#FFD700 |
255,215,0 |
goldenrod |
#DAA520 |
218,165,32 |
gray |
#7F7F7F |
127,127,127 |
grey |
#7F7F7F |
127,127,127 |
green |
#007F00 |
0,127,0 |
green_yellow |
#ADFF2F |
173,255,47 |
gray |
#808080 |
128,128,128 |
honeydew |
#F0FFF0 |
240,255,240 |
hot_pink |
#FF69B4 |
255,105,180 |
indian_red |
#CD5C5C |
205,92,92 |
indigo |
#4B0082 |
75,0,130 |
ivory |
#FFFFF0 |
255,255,240 |
khaki |
#F0E68C |
240,230,140 |
lavender |
#E6E6FA |
230,230,250 |
lavender_blush |
#FFF0F5 |
255,240,245 |
lawn_green |
#7CFC00 |
124,252,0 |
lemon_chiffon |
#FFFACD |
255,250,205 |
light_blue |
#ADD8E6 |
173,216,230 |
light_coral |
#F08080 |
240,128,128 |
light_cyan |
#E0FFFF |
224,255,255 |
light_goldenrod |
#FAFAD2 |
250,250,210 |
light_gray |
#D3D3D3 |
211,211,211 |
light_green |
#90EE90 |
144,238,144 |
light_gray |
#D3D3D3 |
211,211,211 |
light_grey |
#D3D3D3 |
211,211,211 |
light_pink |
#FFB6C1 |
255,182,193 |
light_salmon |
#FFA07A |
255,160,122 |
light_sea_green |
#20B2AA |
32,178,170 |
light_sky_blue |
#87CEFA |
135,206,250 |
light_slate_gray |
#778899 |
119,136,153 |
light_slate_grey |
#778899 |
119,136,153 |
light_steel_blue |
#B0C4DE |
176,196,222 |
light_yellow |
#FFFFE0 |
255,255,224 |
lime |
#00FF00 |
0,255,0 |
lime_green |
#32CD32 |
50,205,50 |
linen |
#FAF0E6 |
250,240,230 |
magenta |
#FF00FF |
255,0,255 |
maroon |
#7F0000 |
127,0,0 |
medium_aquamarine |
#66CDAA |
102,205,170 |
medium_blue |
#0000CD |
0,0,205 |
medium_orchid |
#BA55D3 |
186,85,211 |
medium_purple |
#9370DB |
147,112,219 |
medium_sea_green |
#3CB371 |
60,179,113 |
medium_slate_blue |
#7B68EE |
123,104,238 |
medium_spring_green |
#00FA9A |
0,250,154 |
medium_turquoise |
#48D1CC |
72,209,204 |
medium_violet_red |
#C71585 |
199,21,133 |
midnight_blue |
#191970 |
25,25,112 |
mint_cream |
#F5FFFA |
245,255,250 |
misty_rose |
#FFE4E1 |
255,228,225 |
moccasin |
#FFE4B5 |
255,228,181 |
navajo_white |
#FFDEAD |
255,222,173 |
navy |
#000080 |
0,0,128 |
old_lace |
#FDF5E6 |
253,245,230 |
olive |
#808000 |
128,128,0 |
olive_drab |
#6B8E23 |
107,142,35 |
orange |
#FFA500 |
255,165,0 |
orange_red |
#FF4500 |
255,69,0 |
orchid |
#DA70D6 |
218,112,214 |
pale_goldenrod |
#EEE8AA |
238,232,170 |
pale_green |
#98FB98 |
152,251,152 |
pale_turquoise |
#AFEEEE |
175,238,238 |
pale_violet_red |
#DB7093 |
219,112,147 |
papaya_whip |
#FFEFD5 |
255,239,213 |
peach_puff |
#FFDAB9 |
255,218,185 |
peru |
#CD853F |
205,133,63 |
pink |
#FFC0CB |
255,192,203 |
plum |
#DDA0DD |
221,160,221 |
powder_blue |
#B0E0E6 |
176,224,230 |
purple |
#7F007F |
127,0,127 |
red |
#FF0000 |
255,0,0 |
rosy_brown |
#BC8F8F |
188,143,143 |
royal_blue |
#4169E1 |
65,105,225 |
saddle_brown |
#8B4513 |
139,69,19 |
salmon |
#FA8072 |
250,128,114 |
sandy_brown |
#F4A460 |
244,164,96 |
sea_green |
#2E8B57 |
46,139,87 |
seashell |
#FFF5EE |
255,245,238 |
sienna |
#A0522D |
160,82,45 |
silver |
#C0C0C0 |
192,192,192 |
sky_blue |
#87CEEB |
135,206,235 |
slate_blue |
#6A5ACD |
106,90,205 |
slate_gray |
#708090 |
112,128,144 |
slate_grey |
#708090 |
112,128,144 |
snow |
#FFFAFA |
255,250,250 |
spring_green |
#00FF7F |
0,255,127 |
steel_blue |
#4682B4 |
70,130,180 |
tan |
#D2B48C |
210,180,140 |
teal |
#008080 |
0,128,128 |
thistle |
#D8BFD8 |
216,191,216 |
tomato |
#FF6347 |
255,99,71 |
turquoise |
#40E0D0 |
64,224,208 |
violet |
#EE82EE |
238,130,238 |
wheat |
#F5DEB3 |
245,222,179 |
white |
#FFFFFF |
255,255,255 |
white_smoke |
#F5F5F5 |
245,245,245 |
yellow |
#FFFF00 |
255,255,0 |
yellow_green |
#9ACD32 |
154,205,50 |
The following image displays the colors described in the table above.
!CONST
A read-only structure variable that contains physical constants. For example:
HELP, !CONST.C, /FULL
IDL prints:
<Expression> DOUBLE = 299792458.00000000
The following table lists !CONST names and values. All values are in double precision and are given in Meter-Kilogram-Second (MKS) units. The values for fundamental physical constants are taken from the Committee on Data for Science and Technology, "2010 CODATA Recommended Values," available from the Physical Measurement Laboratory at the National Institute of Standards and Technology (NIST). The values for au
, G
, M_earth
, M_sun
, parsec
, and R_earth
are derived from the IAU 2009 System of Astronomical Constants, based upon the Barycentric Coordinate Time (TCB) values. The light-year distance was computed using the speed of light during 1 Julian year of 365.25 days*86400 seconds. The value for ∏ (pi) was computed using Buffon's needle method with approximately 253 tosses of 4 cm toothpicks onto parallel lines.
Name |
Description |
Value |
alpha |
Fine structure constant |
7.2973525698 x 10-3 |
au |
astronomical unit |
1.49597870700 x 1011m |
c |
Speed of light in a vacuum |
299792458 m/s |
DtoR |
Degrees to radians |
0.0174532925199433 |
e |
elementary charge |
1.602176565 x 10-19 C |
eps0 |
electric vacuum permittivity |
8.854187817 x 10-12 F/m |
euler |
Euler's number |
2.7182818284590452 |
F |
Faraday constant NAe |
96485.3365 C/mol |
G |
Gravitation constant |
6.67384 x 10-11 m3/kg/s2 |
gn |
Earth standard gravity |
9.80665 m/s2 |
h |
Planck constant |
6.62606957 x 10-34 J s |
hbar |
h/(2∏) |
1.054571726 x 10-34 J s |
i |
Imaginary number |
dcomplex(0,1) |
k |
Boltzmann constant R/NA |
1.3806488 x 10-23 J/K |
ly |
Light-year distance |
9.460730472580800 x 1015 m |
M_earth |
Earth mass |
5.972186390 x 1024 kg |
M_sun |
Sun mass |
1.98841586057 x 1030 kg |
me |
electron mass |
9.10938291 x 10-31 kg |
mn |
neutron mass |
1.674927351 x 10-27 kg |
mp |
proton mass |
1.672621777 x 10-27 kg |
mu0 |
magnetic vacuum permeability |
12.566370614 x 10-7 N/A2 |
n0 |
Loschmidt's number NAp0/(RT0) |
2.6867805 x 1025 m-3 |
Na |
Avogadro constant NA |
6.02214129e23 mol-1 |
p0 |
Standard atmosphere |
101325 Pa |
parsec |
Parsec distance |
3.0856775814671912 x 1016 m |
phi |
golden ratio |
1.6180339887498948 |
pi |
∏ |
3.1415926535897932 |
R |
molar gas constant |
8.3144621 J/mol/K |
R_earth |
Earth radius (spherical) |
6378136.6 m |
re |
classical electron radius |
2.8179403267 x 10-15 m |
RtoD |
Radians to degrees |
57.295779513082323 |
rydberg |
Rydberg constant R∞ |
10973731.568539 m-1 |
sigma |
Stefan-Boltzmann constant |
5.670373 x 10-8 W/m2/K4 |
T0 |
Standard temperature |
273.15 K |
u |
unified atomic mass unit |
1.660538921 x 10-27 kg |
Vm |
Molar volume, ideal gas at STP |
22.413968 x 10-3 m3/mol |
!DPI
A read-only variable containing the double-precision value of ∏ (pi).
!DTOR
A read-only variable containing the floating-point value used to convert degrees to radians (∏/180 @ 0.01745).
!FALSE
A read-only variable containing the boolean value of false (0).
!MAP
A variable containing the information needed to effect coordinate conversions between points of latitude and longitude and map coordinates. The values in this structure are established by the MAP_SET procedure; the user should not change them directly.
The !MAP structure contains the following fields:
A
A double-precision floating point integer specifying the equatorial radius or semimajor axis in meters. (The default is 6370997 m.)
COSO
A double-precision floating point integer specifying the cosine of the center latitude in degrees.
COSR
A double-precision floating point integer specifying the cosine of the rotation angle.
E2
A double-precision floating point integer specifying the eccentricity squared of the ellipsoid.
FILL_METHOD
A long-integer variable that indicates the fill order. True (1) fills counterclockwise, False (0) fills starting with the closest polygons.
LL_BOX
A four-element, double-precision floating point array that specifies the map range in degrees (latmin, lonmin, latmax, lonmax).
P
A 16-element, double-precision floating point array indicating additional projection parameters.
P0LAT
A double-precision floating point integer specifying the center latitude in degrees.
P0LON
A double-precision floating point integer specifying the center longitude in degrees.
PIPELINE
A four by four, double-precision floating point array specifying the graphics clipping and splitting pipeline.
POLE
A seven-element, double-precision floating point array that indicates Pole location parameters. Longitude and latitude are given in radians, sine and cosine of polar latitude, and X,Y,Z coordinates.
PROJECTION
A long-integer variable indicating the projection number (for GCTP only).
ROTATION
A double-precision floating point integer specifying the rotation angle in degrees, clockwise of pole.
SEGMENT_LENGTH
A double-precision floating point integer specifying the maximum segment length.
SIMPLE
A long-integer variable indicating the projection number. For IDL projections, True (1) indicates the projection is centered on the Equator or no rotation. For GCTP, this number is the GCTP projection number.
SINO
A double-precision floating point integer specifying the sine of the center latitude.
SINR
A double-precision floating point integer specifying the sine of the rotation angle.
U0
A double-precision floating point integer specifying the center longitude in radians.
UP_FLAGS
A double-precision floating point integer that sets the user projection flags (currently unused).
UP_NAME
A string that specifies the projection name (used only for GCTP).
UV
A two-element, double-precision floating point array specifying the U,V coordinates of the last point.
UV_BOX
A four-element, double-precision floating point array that contains the map range in meters (xmin, ymin, xmax, ymax).
Note: The UV_BOX values are not just the LL_BOX values converted into the map projection. For most projections, converting the UV_BOX values back into lat/lon coordinates will not return the same values as LL_BOX. Instead, the UV_BOX gives the approximate maximum extent of the map projection.
V0
A double-precision floating point integer specifying the center latitude in radians.
!NULL
A variable of type Undefined. The value of !NULL can be:
- Assigned to another variable:
var = !NULL
- Used to test whether a variable exists:
IF var NE !NULL THEN...
In addition, variables with the value !NULL are ignored when added to an array. That is:
array = [1, !NULL, 2, !NULL, 3]
is the same as
array = [1, 2, 3]
See The Null Variable for additional information.
!PI
A read-only variable containing the single-precision value of ∏ (pi).
!RADEG
A read-only variable containing the floating-point value used to convert radians to degrees (180/∏ @ 57.2958).
!TRUE
A read-only variable containing the boolean value of true (1).
!VALUES
A read-only variable containing the IEEE single- and double-precision floating-point values Infinity and NaN (Not A Number). !VALUES is a structure variable with the following fields:
** Structure !VALUES, 4 tags, length=24:
F_INFINITY FLOAT Infinity
F_NAN FLOAT NaN
D_INFINITY DOUBLE Infinity
D_NAN DOUBLE NaN
where the meaning of the fields as follows:
F_INFINITY
The single-precision floating point value Infinity.
F_NAN
The single-precision floating point value NaN (Not a Number).
D_INFINITY
The double-precision floating point value Infinity.
D_NAN
The double-precision floating point value NaN (Not a Number).